// Promise是一种异步解决方案
// 简单来说，就是一个对象，里面保存着未来才会结束的事件  这个事件通常是一个异步操作
// Promise对象是一个构造函数，用来生成Promise实例
// resolve函数  将Promise对象从“未成功” 变为 “成功”
// rejecth函数 将Promise对象从“未完成” 变为 “失败”
// 这里有个地方要注意 就是Promise新建后会立即执行

let promise = new Promise((resolve, reject) => {
  console.log('新建了一个Promise');
  resolve();
});

promise.then(() => { // promise 是一个微任务 会在当前宏任务执行完成后 再执行
  console.log('进入完成状态1');
}, () => { // 没有第二个回调的话，会进入catch
  console.log('进入拒绝状态2');
}).catch(() => {
  console.log('进入拒绝状态2')
})

console.log('Hi!')
